﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace Projet_Final_ASP
{
    public partial class ShoppingCart : System.Web.UI.Page
    {
        decimal total = 0;
        string produitBD = string.Empty;
        BindingList<oProduitAffichage> binding;
        Boolean databound = false;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (databound == false)
                DataBindListe();
        }

        private void DataBindListe()
        {
            Cart listeProduits = null;
            oProduit produit = new oProduit();
            Dictionary<oProduit, int> contenu = null;
            binding = new BindingList<oProduitAffichage>();
            oProduitAffichage produitAffichage;
            listeProduits = (Cart)Session.Contents["shoppingCart"];
            
            contenu = listeProduits.ContenuCart();
            
            int y = 0;
            foreach(KeyValuePair<oProduit,int> pair in contenu)
            {
                produitAffichage = new oProduitAffichage(pair.Key.NomProduit, pair.Key.Description, pair.Key.Prix, pair.Value);
                total += (Convert.ToDecimal(pair.Key.Prix)*pair.Value);
                produitBD += pair.Value+"x "+ pair.Key.NomProduit+"; ";
                binding.Add(produitAffichage);
                y++;
                
            }
            GridView1.DataSource = binding;
            GridView1.DataBind();
            databound = true;
        }

        protected void SupprimerRow(object sender, CommandEventArgs e)
        {
            binding.RemoveAt(Convert.ToInt32(e.CommandArgument));
            GridView1.DataSource = binding;
            GridView1.DataBind();
            
        }

        protected void cmdCheckout_Click(object sender, EventArgs e)
        {
            if (User.Identity.IsAuthenticated)
            {
                Session.Add("prix", total);
                Session.Add("produitBD", produitBD);
                Response.Redirect("Checkout.aspx");
            }
            else
                Response.Redirect("~/Account/Login.aspx");
        }
 
    }
}